"""
针对上述三种方案，可通过模拟多进程并发请求进行效果验证。例如，利用 requests 库编写简单的压力测试脚本：
"""

import requests
from concurrent.futures import ThreadPoolExecutor


def make_request():
    response = requests.get('http://127.0.0.1:8000')
    print(response.status_code)


with ThreadPoolExecutor(max_workers=10) as executor:
    for _ in range(100):
        executor.submit(make_request())


"""
在 FastAPI 多进程环境下处理日志文件轮转异常，核心在于防止多进程对日志文件操作的冲突。

通过队列、锁机制以及 ConcurrentRotatingFileHandler 三种方法，均可有效解决该问题。

    • 队列方案适用于高并发且对实时性要求不高的场景；
    • 锁机制简单直接，适合并发程度相对较低的情况；
    • ConcurrentRotatingFileHandler 则专门针对多进程环境，开箱即用地保障日志文件轮转的安全性。

开发者应依据具体业务场景与性能需求，合理选择方案，确保系统的稳定性与可维护性。
"""